/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agenda.contato;

import agenda.contato.DAL.ContatoDAL;
import framework.agendaFactory.ButtonListener;
import framework.agendaFactory.lib.InternalFrame;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;

/**
 *
 * @author Sergio Carlos Peres
 */
public class ContatoButtonListener extends ButtonListener{

    public ContatoButtonListener(InternalFrame internalFrame) {
        super(internalFrame);
    }

    @Override
    public void txtPesquisarActionPerformed(ActionEvent e) {
        pesquisar("contato", "nome");
    }

    @Override
    public void btnPesquisarActionPerformed(ActionEvent e) {
        pesquisar("contato", "nome");
    }

    @Override
    public void cboPesquisarActionPerformed(ActionEvent e) {
        pesquisaCombobox("contato", "nome");
    }

    @Override
    public void btnAlterarActionPerformed(ActionEvent e) {
        int linha;
        linha = internalFrame.getTabela().getSelectedRow();
        if (linha == -1) {
            JOptionPane.showMessageDialog(null, "Selecione um compromisso da lista de\ncompromisso para altera-lo!");
            return;
        }
        Contato compromisso = new Contato();
        compromisso.setNome(internalFrame.getTabela().getValueAt(linha, 0).toString());
        compromisso.setEmail(internalFrame.getTabela().getValueAt(linha, 1).toString());
        this.altere = true;
        interfacePadrao("novo", true, 1);
        internalFrame.setTelaAdd(new ContatoDAL().buscaAlterar(compromisso));
    }

    @Override
    public void btnSalvarActionPerformed(ActionEvent e) {
        Contato compromisso = (Contato) internalFrame.getTelaAdd();
        
        if (this.altere)
            new ContatoDAL().alterar(compromisso);
        else 
            new ContatoDAL().salvar(compromisso);
        
        this.altere = false;
        String sql = "SELECT * FROM contato";
        interfacePadrao(sql, "", false, 0);
    }

    @Override
    public void btnExcluirActionPerformed(ActionEvent e) {
        int linha;
        linha = internalFrame.getTabela().getSelectedRow();
        if (linha == -1) {
            JOptionPane.showMessageDialog(null, "Selecione um compromisso da lista de\ncompromisso para altera-lo!");
            return;
        }
        Contato c = new Contato();
        c.setNome(internalFrame.getTabela().getValueAt(linha, 0).toString());
        c.setEmail(internalFrame.getTabela().getValueAt(linha, 1).toString());
        
        c = (Contato) new ContatoDAL().buscaAlterar(c);
        new ContatoDAL().delet(c.getCodigo());
        interfacePadrao("SELECT * FROM contato","", false, 0);
    }
    
}
